Reference for Wiring version 0027+. If you have a previous version, use the reference included with your software. If you see any errors or have any comments, let us know.

Name

Wire

Examples
#include "Wire.h"

void setup()
{
  // join i2c bus (address optional for master)
  Wire.begin();   
  // start serial for output  
  Serial.begin(9600);
}

void loop()
{
  // request 6 bytes from slave device #2
  Wire.requestFrom(2, 6);   

  // slave may send less than requested
  while(Wire.available())    
  { 
    // receive a byte as character
    char c = Wire.receive(); 
    Serial.print(c);  // print the character
  }

  delay(500);
}

#include "Wire.h"

void setup()
{
  // join i2c bus with address #4
  Wire.begin(4);    
  // register event  
  Wire.onReceive(receiveEvent); 
  // start serial for output
  Serial.begin(9600);
}

void loop()
{
  delay(100);
}

// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany)
{
  // loop through all but the last
  while(1 < Wire.available()) 
  {
    char c = Wire.receive(); // receive byte as a character
    Serial.print(c);         // print the character
  }
  int x = Wire.receive();    // receive byte as an integer
  Serial.println(x);         // print the integer
}
Description There is a TWI (Two Wire Interface) port available on the Wiring board named Wire. The port Wire is available on the Wiring harware pins 0(SCL) and 1(SDA).
Syntax
Wire
Methods
available()
beginTransmission()
endTransmission()
onReceive()
onRequest()
receive()
requestFrom()
send()
Parameters
Wire The hardware TWI port
Returns None
Usage Application
Updated on September 18, 2010 03:23:31pm PDT

Creative Commons License